package demo1;

interface IShape {
    void draw();
}
//实现接口
class Flower implements IShape {
    public void draw() {
        System.out.println("花");
    }
}
class Rect implements IShape {
    public void draw() {
        System.out.println("矩形");
    }
}
class Triangle implements IShape {
    public void draw() {
        System.out.println("△");
    }
}
class Cycle implements IShape {
    public void draw() {
        System.out.println("○");
    }
}
public class Test {
    public static void func(IShape iShape) {
        iShape.draw();
    }
    public static void main2(String[] args) {
        Computer computer = new Computer();
        computer.powerOn();

        computer.useDevice(new KeyBoard());
        computer.useDevice(new Mouse());

        computer.OffOn();
    }
    public static void main1(String[] args) {
        func(new Cycle());
        func(new Triangle());
        func(new Rect());
        func(new Flower());
        //2 接口：多个类的公共规范
        //2.1 使用interface修饰类名，并在类名前加I
        //2.2 不能进行实例化，类需要使用接口要使用implement（实现）修饰
        //2.3 接口中，变量默认是 public static final 修饰
        //2.4 方法是 public static 修饰
        //2.5 接口中不能有具体实现
        //2.6 如果要有具体实现需要使用default或static修饰
        //2.7 接口也会产生字节码文件
        //2.8 类继承一个抽象类或普通类时，还可以实现一个类
    }
}
